/**
 * Created by jiachenpan on 16/11/18.
 */

/* 是否是公司邮箱*/
export function isWscnEmail(str) {
  const reg = /^[a-z0-9](?:[-_.+]?[a-z0-9]+)*@wallstreetcn\.com$/i;
  return reg.test(str.trim());
}

/* 合法uri*/
export function validateURL(textval) {
  const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/;
  return urlregex.test(textval);
}

/* 小写字母*/
export function validateLowerCase(str) {
  const reg = /^[a-z]+$/;
  return reg.test(str);
}

/* 验证key*/
// export function validateKey(str) {     var reg = /^[a-z_\-:]+$/;     return
// reg.test(str); }

/* 大写字母*/
export function validateUpperCase(str) {
  const reg = /^[A-Z]+$/;
  return reg.test(str);
}

/* 大小写字母*/
export function validatAlphabets(str) {
  const reg = /^[A-Za-z]+$/;
  return reg.test(str);
}

export function isvalidPhone(str) {
  var isPhone = /^([0-9]{3,4}-)?[0-9]{7,8}$/;
  // var
  // isMob=/^((\+?86)|(\(\+86\)))?(13[012356789][0-9]{8}|15[012356789][0-9]{8}|18[0
  // 2356789][0-9]{8}|147[0-9]{8}|1349[0-9]{7})$/;
  var isMob = /^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1})|145|147|222|166|198|199)+\d{8})$/
  if (isMob.test(str) || isPhone.test(str)) {
    return true;
  } else {
    return false;
  }
}

export function validPhone(rule, value, callback) {
  if (!value) {
    callback(new Error(translate(1)))
  } else if (!isvalidPhone(value)) {
    callback(new Error(translate(2)))
  } else {
    callback()
  }
}

export function isvalidIdentity(value) { //身份证

  var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
  if (!reg.test(value)) {
    return false
  } else {
    return true
  }
}

export function validateIdentity(rule, value, callback) {
  if (!value) {
    callback(new Error(translate(3)))
  } else if (!isvalidIdentity(value)) {
    callback(new Error(translate(4)))
  } else {
    callback()
  }
}

export function validatePassport(rule, value, callback) {
  if (!value) {
    callback(new Error(translate(5)))
  } else {
    // var reg = new RegExp("(^([PSE]{1}\\d{7}|[GS]{1}\\d{8})$)");
    // if (!reg.test(value.toUpperCase())) {
    //   callback(new Error('请输入正确的护照号'))
    // } else {
    callback()
    // }
  }
}
export function isvalidateNum(value) {
  var patrn = /^[0-9]*$/;
  if (!patrn.test(value)) {
    return false
  } else {
    return true
  }

}

export function validateNum(rule, value, callback) {
  if (!value) {
    callback(new Error(translate(7)))
  } else if (!isvalidateNum(value)) {
    callback(new Error(translate(8)))
  } else {
    callback()
  }
}

export function translate(i) {
  if (sessionStorage.getItem('luanguageType') == 'cn' || !sessionStorage.getItem('luanguageType')) {
    if (i == 1) {
      return '请输入电话号码'
    } else if (i == 2) {
      return '请输入正确的手机号码或者座机号'
    } else if (i == 3) {
      return '请输入证件号'
    } else if (i == 4) {
      return '请输入正确的证件号'
    } else if (i == 5) {
      return '请输入护照号'
    } else if (i == 6) {
      return '请输入正确的护照号'
    } else if (i == 7) {
      return '请填写记者证号'
    } else if (i == 8) {
      return '记者证号只能是数字'
    }
  } else if (sessionStorage.getItem('luanguageType') == 'en') {
    if (i == 1) {
      return 'please input your phone number'
    } else if (i == 2) {
      return 'please enter the correct number'
    } else if (i == 3) {
      return 'please enter your id number'
    } else if (i == 4) {
      return 'please enter the correct id number'
    } else if (i == 5) {
      return 'please enter your passport number'
    } else if (i == 6) {
      return 'please enter the correct passport number'
    } else if (i == 7) {
      return 'please fill in the journalist number'
    } else if (i == 8) {
      return "the reporter's license number can only be a number"
    }
  }
}